#include<iostream>
using namespace std;
int outputArr( int * arr ,int len);
int  main()
{
    int i,n,k=0;
    int arrLen=0;
    n=5;
    int s[5]={4,3,1,5,2};
    arrLen=n;
   outputArr(s,arrLen);
    for(; n>1; n--)
    {
        int max=0,l=0;
        for(i=0; i<n; i++)
        {
            if(s[i]>max)
            {
                max=s[i];
                l=i;
            }
        }
        if(l==0)
        {
            k+=1;
            for(i=0; i<n/2; i++)
            {
                int t=s[i];
                s[i]=s[n-1-i];
                s[n-1-i]=t;
            }
            cout<<"l=0"<<endl;
            outputArr(s,arrLen);
        }
        else if(l<n-1)
        {
            k+=2;
            cout<<"l!=0"<<endl;
            for(i=0; i<(l+1)/2; i++)
            {
                int t=s[i];
                s[i]=s[l-i];
                s[l-i]=t;
            }
            outputArr(s,arrLen);
            for(i=0; i<n/2; i++)
            {
                int t=s[i];
                s[i]=s[n-1-i];
                s[n-1-i]=t;
            }
            outputArr(s,arrLen);
        }
    }
    cout<<"count:"<<k<<endl;
}

int outputArr( int * arr ,int len)
{
    for(int i=0;i<len;i++)
    {
        cout<< arr[i]<< " ";
    }
    cout<<endl;
    return 0;
}
